package org.streets.eis.component.organtree;

import org.streets.database.PV;
import org.streets.database.SQLConnection;

/**
 * 缓存所选节点，存贮目标是数据库，可以考虑Server缓存
 * 
 * create table EIS_NODE_HISTORY(USER_ID VARCHAR2(30),FLAG VARCHAR2(30),VALUE VARCHAR2(500),constraint PK_EIS_NODE_HISTORY primary key (USER_ID,FLAG));
 *
 */
public class NodeHistoryManager {
	
	/**
	 * 保存最后使用的节点
	 * @param userId 用户id
	 * @param flag 标记,可以是模块标记或者其他，标示树所在的页面，唯一
	 * @param nodeIds 所选节点id串
	 */
	public static void setSelectedNodeIds(SQLConnection conn,String userId,String flag,String nodeIds){
		StringBuffer sqls = new StringBuffer();
		sqls.append(String.format("delete from EIS_NODE_HISTORY where user_id='%s' and flag='%s';",userId,flag));
		sqls.append(String.format("insert into EIS_NODE_HISTORY(user_id,flag,value) values('%s','%s','%s')",userId,flag,nodeIds));
		conn.execute(sqls.toString());
	}
	
	/**
	 * 得到最后使用的节点
	 * @param userId 用户id
	 * @param flag 标记，可以是模块标记或者其他，标示树所在的页面，唯一
	 * @param nodeIds
	 */
	public static String getSelectedNodeIds(SQLConnection conn,String userId,String flag){
		return (String) conn.column("select value from EIS_NODE_HISTORY where user_id=? and flag=?", PV.of(userId,flag));
	}
	
}
